UBYTE HasOriginal; // if TRUE, this item contains the recipient's original message also
UBYTE File; // for File Mail
UBYTE Anonymous; // From an anonymous user?
char Route [41]; // for Bulk Mail, list of recips
short Recipients; // number of recipients ...
UBYTE Party; // Allow party responses?
long Length;
long CheckSum; // must be 0
long Item; // if this message is repeated
long Seek; // somewhere on the system
short Base; // this tells where !!!
char NetAddress[52]; // may be shortened
UBYTE Alias;
UBYTE Replied;
UBYTE Received;
UBYTE NoEdits;
struct IsDate ShowDate;
};
struct MailHeader4 { // NEW 2.0 for mail, etc
LONG HeaderSeek; // dynamic, set by MailRead() and CheckMail() - location of header in _mhead4
ULONG Date; // date mail SENT - time_t value
ULONG EDate; // for EXPIRATION setting - expire DATE (time_t value)
short EDays; // expire days
char Subject [81]; // Ahh, nice and roomy
char From [27]; // FROM user - Handle/name
ULONG Number; // unique ID number (16 bit HEX time stamp)
short ByAccount; // if a local user, account number
long ByID; // "" "" IDNumber
char To [200]; // originals, if was Sent/forwarded or multi/carbon
long ToID; // "" "" IDNumber
short ToAccount; // To account number
UBYTE Receipt; // return-receipt ??
UBYTE Return; // return original message??
UBYTE Anonymous; // From an anonymous user??
UBYTE NoSAMCharge; // v4.13c - do not alter SAM when this item is killed
BOOL mfattach; // if set, "FileAttach" contains the name of a file
// which contains a LIST of files that are
// attached to this mail header/item.
// otherwise "FileAttach" contains the path/filename
// of the attached file.
char Expansion[126]; // future expansion
short Recipients; // number of recipients ...
long Length; // Length of MESSAGE body
long CheckSum; // must be 0
long Item; // if this message is repeated
long Seek; // somewhere on the system
char UniqueBase[75]; // this tells where - Same as subboard GO keyword !!!
// was 21 bytes long up to CNet v4.21
// this is set by Mail-TASK on incoming mail
char NetAddress[80]; // Net address of the user this mail is from if a network mail
UBYTE Alias; // did user use an alias??
UBYTE Replied; // did user reply??
UBYTE Received; // did user receive/read it yet??
UBYTE HasOriginal; // user kept original message??
UBYTE NoEdits; // mail not editable if TRUE
ULONG ReadDate; // Date message READ - same as "Date" unless read
char FileAttach[128]; // full path/filename of attached file
short set; // which charge schedule to use - Physical number - Use NumToChargeSet() to get a pointer of type (struct ChargeSet *) to the actual ChargeSet
ULONG flags; // Mail flags (See bitdefs at the top of mail.h)
char magic[13]; // Usually "1234CNET56789" for a VALID/non-corrupt header
// Mail recovery programs will search for and
// test this to validate a "recovered" header!
// CNet MailRead also tests for this to be correct.
// Automatic recovery should be active in CNet AMIGA
// v4.13
// don't forget to get the TEXT from _mtext4 as well!!
LONG text; // Seek() value for text in _text4
UBYTE Killed; // TRUE if mail is marked for deletion - only used for moving mail to trashcan
struct MailHeader4 *next; // set internally - pointer to the next mail header in current folder
};
/* folder structure - use GotoMailFolder(UUCP_ID, FOLDER_NAME) to open a mail folder */
struct NewMailFolder {
char OwnerID[10]; // UUCP ID of owner
char path[128]; // path to this folder (usually mail:users/UUCP_ID)
char Name[40]; // name of mail folder (ie. INBOX, OUTBOX, etc,..
BPTR headerfh; // file handle used to access this folder's mail HEADER file
BPTR textfh; // file handle used to access this folder's mail TEXT
UBYTE temporary; // TRUE if folder was opened on the fly and must be freed after current use
struct NewMailFolder *NextFolder; /* next folder allocated */
};
struct MailAlias4 {
char Alias[24]; // 0 - alias to be entered when sending mail
char Name[24]; // 24 - user's handle/name on the destination system
char Address[80]; // 48 - destination address - blank if destination is local system
UBYTE MailType; // 128 - not currently used
struct MailAlias4 *NextAlias; // pointer to next mailalias
};
// the MailToList structure is filled in and returned by CMailIsUUCP,
// CMailIsFido, CMailIsLocal and CMailIsAlias functions
// the first item written to outbox/#?.mtl is the name of the MailHeader4
// header/message file terminate by 0x0A - then 1 or more instances of
// struct MailToList
struct MailToList
{
char Name[100]; // full network name/address of user
char UUCP[10]; // UUCP id if local user
UBYTE MailType; // type of mail - mailtask uses this to decide what
// user name to use on outgoing mail
// and which file-attach method to
// use and also how to send the mail
//
// - 0=LOCAL REALNAME, 1=local HANDLE,
// 2=UUCP, 3=FIDO
// 4=LOCAL-ALIAS, 5=Handle from
// FindAccount
// 6=FEEDBACK 7=NEWUSER
// 8="SYSOP"
struct MailToList *next;
};
struct CNetNodeDesc // possible argument to IsFido()
{
char UserName[30]; // User name
ULONG Node[4]; // node address
UWORD Region; // region (0 if none)
UWORD Hub; // node # of this node's HUB (0 if none)